package com.youkeyi.ddy.cloud.common.api.basic.pub.organization.dto;

import com.youkeyi.ddy.cloud.common.api.basic.pub.server.dto.PublicServerListItemCloudDto;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * PublicOrganizationListItemCloudDto
 *
 * @Author liuxiawang
 * @Date 2024/2/20 5:54 PM
 * @Location shenzhen.china
 */
@Data
public class PublicOrganizationListItemCloudDto {

    private String organizationPrimaryKey;

    /**
     * 主体key
     */
    private String corpKey;

    /**
     * 组织名称
     */
    private String name;

    /**
     * 组织code
     */
    private String code;

    /**
     * 组织级别
     */
    private Integer level;

    /**
     * 组织类型
     */
    private Integer type;

    /**
     * 序号
     */
    private Integer sort;

    /**
     * 父级组织Key
     */
    private String parentKey;

    /**
     * 组织层级路径
     */
    private String path;
    private Integer isShare;

    /**
     * 组织职责
     */
    private String responsibility;

    /**
     * 负责人员工key
     */
    private String leaderEmployeeKey;

    /**
     * 负责人员工名
     */
    private String leaderEmployeeName;

    /**
     * 负责人员工手机号
     */
    private String leaderEmployeePhone;

    /**
     * 固定电话
     */
    private String telephone;

    /**
     * 组织地址
     */
    private String address;

    /**
     * 组织邮箱
     */
    private String email;

    /**
     * 组织描述
     */
    private String desc;

    // 组织涉及到的服务信息
    private List<String> serverPrimaryKeys = new ArrayList<>();
    private List<PublicServerListItemCloudDto> servers = new ArrayList<>();

    /**
     * 是否删除
     */
    private Integer isDeleted;
    private String isDeletedName;

    /**
     * 创建人
     */
    private String createUserKey;

    /**
     * 创建人名称
     */
    private String createUserName;

    /**
     * 创建时间
     */
    private Long createTime;

    /**
     * 更新人
     */
    private String updateUserKey;

    /**
     * 更新人名称
     */
    private String updateUserName;

    /**
     * 更新时间
     */
    private Long updateTime;
}
